package com.hlkj.pay.infrastructure.model.ad;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hlkj.framework.mybatis.core.dataobject.BaseDO;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
* 广告信息统计
* @TableName t_ad_info_statistics
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("t_ad_info_statistics")
public class AdStatisticsDO extends BaseDO {

    /**
    * 广告id
    */
    @Schema(description = "广告id")
    private Long adId;
    /**
    * 1:5分钟 2:1 小时 
    */
    @Schema(description = "1:5分钟 2:1 小时 ")
    private Integer type;
    /**
    * 订单笔数
    */
    @Schema(description = "订单笔数")
    private Integer submitOrderCount;
    /**
    * 支付订单笔数
    */
    @Schema(description = "支付订单笔数")
    private Integer payOrderCount;
    /**
    * 回传订单笔数
    */
    @Schema(description = "回传订单笔数")
    private Integer callOrderCount;
    /**
    * 订单金额
    */
    @Schema(description = "订单金额")
    private BigDecimal submitOrderAmount;
    /**
    * 支付订单金额
    */
    @Schema(description = "支付订单金额")
    private BigDecimal payOrderAmount;
    /**
    * 退款笔数
    */
    @Schema(description = "退款笔数")
    private Integer refundCount;
    /**
    * 退款金额
    */
    @Schema(description = "退款金额")
    private BigDecimal refundAmount;
    /**
    * 查看数量
    */
    @Schema(description = "查看数量")
    private Integer viewCount;
    
    /**
     * 查看数量
     */
    @Schema(description = "统计开始时间")
    private Long startTime;
    /**
     * 查看数量
     */
    @Schema(description = "统计结束时间")
    private Long endTime;
    /**
     * 查看数量
     */
    @Schema(description = "时间区间key")
    private String timeKey;
    
    /**
     * 广告id
     */
    @Schema(description = "广告名称")
    @TableField(exist = false)
    private String name;
    /**
     * 广告id
     */
    @Schema(description = "广告媒介名称")
    @TableField(exist = false)
    private String mediaName;
    /**
     * 1:5分钟 2:1 小时
     */
    @Schema(description = "类型 1 权益卡")
    @TableField(exist = false)
    private Integer adType;

}
